define(['jquery','bootstrap'], function($) {
    class Header {
        constructor () {
            this.loadHTML().then(() => {
                console.log('load success')
                $('#myModal').on('shown.bs.modal', function () {
                    $('#myInput').focus()
                    
                  })
                this.target()
                this.close()
                this.register()
                this.calcCartTotal()
                this.go()
            })
        }
        loadHTML () {
            // 在这里把方法封装成一个promise，这样就可以在构造函数里处理加载成功之后的逻辑，来调用其他方法
            return new Promise(resolve => {
                // $('header').load('/html/modules/header.html', () => {
                //     resolve()
                // })
                $('.header').load('/html/modules/header.html', resolve)
            })
        }
        target () {
            $('.my').on('click',function(){
                $('.login').css('display', 'block')
            })
        }
        close(){
            $('#close').on('click',function(){
                $('.login').css('display', 'none')
            })
        }
       
        calcCartTotal(){
            let count = 0
            let cart = localStorage.getItem('cart')
            if (cart) {
                cart = JSON.parse(cart)
                count = cart.reduce((total, shop) => total + shop.count, 0)
            }
            $('.cart span').html(count)
        }
        register() {
                    $('.newRegist').on('click', () => {
                        $('.register').css('display', 'block')
                        $('.go').on('click', e=> {
                        // 先取
                        this.username =  $('#username').val()
                        
                        this.password = $('#password').val()
                        
                        const userinfo = {username:this.username,password:this.password}
                
                        var userList = localStorage.getItem('userList')
                        if(userList){
                            // 已经存过用户了，先将之前的数据取出来,取出来的数据是字符串
                            userList = JSON.parse(userList)
                            // 将最新的数据push到数组后面
                            userList.push(userinfo)
                            // 将整个数据放入到本地存储区
                            localStorage.setItem('userList', JSON.stringify([userinfo]))
                        } else{
                            // 第一次注册
                           
                            localStorage.setItem('userList', JSON.stringify([userinfo]))
                        }
                        alert('注册成功，即将跳转登录页')
                         window.open('../')
                    })
                })               
            }

            go(){
            $('.go').on('click',function () {
                console.log(1)
                var userList = localStorage.getItem('userList')
                if (userList) {
                    userList = JSON.parse(userList)
                    // 判断userList里是否存在一条数据跟输入的用户名密码相同

                    var isExist = userList.some(user => {
                        return user.username == $('.input-box-num .first').val() && user.password == $('.input-box-pwd .last').val()
                    })
                    console.log(isExist)
                    if (isExist) {
                        // 登录成功
                        alert('登录成功')
                        $('.login').css('display', 'none')
                    } else {
                        alert('用户名或者密码错误')
                    }
                } else {
                    // 还没有用户
                    alert('请先注册')
                }
            })
            }

    }
    return new Header()
})

